The present invention relates generally to computer network communications. More specifically, the present invention relates to a method and apparatus for communicating fixed-length data packets through an intermediate computer network.
Modern computer data communications take place over expansive computer networks that often include many intermediate networks or sub-networks. An intermediate network may have an internal routing or address scheme that is wholly or partially incompatible with the routing scheme used by other computer networks.
Computer networks typically communicate using data packets that are defined by a standard protocol. Modem protocols may define data packets to be of fixed length or variable length. Typically, a protocol will divide a data packet into address space and data space. The data space generally contains information to be communicated between network users, and the address space contains information relevant to routing the data packet between the network users. A fixed-length data packet typically includes a predetermined amount of address space and data space.
Some protocols, such as the Asynchronous Transfer Mode (ATM) protocol, allow the data packet routing information in the address space to be dynamically modified while the data packet is traversing a communication network. For example, when a communication network is routing an ATM data packet (or “cell”) between network nodes using virtual channel (VC) switching, the network nodes may dynamically modify information in the virtual channel indicator (VCI) and virtual path indicator (VPI) fields of the ATM data packet. When a communication network is routing an ATM cell between network nodes using virtual path (VP) switching, the network nodes may dynamically modify information in the VPI field but not the VCI field.
An intermediate network may use a different data packet routing technique than external networks that are communicating data packets through the intermediate network. An intermediate network may have design constraints that limit the routing flexibility of the intermediate network and the adaptability of the intermediate network to an external data packet routing technique. For example, a satellite communication network may route data packets using a custom internal routing technique that is designed to minimize the amount of memory or processing necessary on-board the satellite(s). Such an internal routing technique may reduce the amount of memory required on-board the satellite(s) at the expense of using additional address space in communicated data packets.
For example, an ATM-compatible (or partially-ATM-compatible) satellite communication network may require the use of some of the address space available in an ATM header for data packet routing. Such a data packet routing technique may be compatible with ATM VC switching in which the VPI and VCI fields of the ATM header may be dynamically modified. A problem may exist, however, when an external network wants to route ATM data packets through the intermediate satellite communication network using VP switching, which does not allow the VCI field in the ATM header to be dynamically modified. Since the intermediate network may need to use the address space in the VCI field to perform custom internal routing, the intermediate network may not be able to route ATM data packets using standard VP switching.
One solution to this problem is to notify external networks and data routers that the intermediate network is not capable of handling particular types of data packets or data packets being routed with a particular type of routing. However, for an intermediate network provider that is in the business of selling communication bandwidth, this solution involves turning away business, which is unacceptable.
Another solution to this problem is to use variable-length data packets in the intermediate network. However, this solution may not be acceptable for intermediate networks designed to be compatible with fixed-length packet formats. This solution may also lead to an unacceptable amount of wasted bandwidth caused by communicating unnecessary information.
Thus, a need has long existed for a method and apparatus for routing fixed-length data packets through an intermediate network that uses internal routing incompatible with the external network. A need has also long existed for a method and apparatus for routing fixed-length data packets from an external network through an intermediate network that requires more dynamically modifiable address space than allowed by the fixed-length data packet format and the routing technique chosen by the external network.